Systems and methods for media streaming and presentation in an application environment

ABSTRACT

A method for displaying data is disclosed. The method may include displaying an application on a mobile electronic communication device. The method may further include contacting at least one media server configured to store media data and receiving, at the mobile electronic communication device, first available media data from the at least one media server. The method may further include displaying the received available media data in a media stream within the application. The method may also include contacting, after a predetermined amount of time, the at least one media server and receiving, in response to the contacting, at the mobile electronic communication device, second available media data from the at least one media server. The method may further include displaying the second available media data in the media stream.

RELATED APPLICATIONS

This application incorporates by reference in their entireties, andclaims any available right of priority to all of: U.S. ProvisionalPatent Application No. 61/972,189, filed on Mar. 28, 2014; U.S.Provisional Patent Application No. 61/991,389, filed on May 9, 2014;U.S. patent application Ser. No. 14/326,177, filed Jul. 8, 2014; andU.S. Provisional Patent Application No. 62/089,624, filed on Dec. 9,2014.

FIELD OF THE DISCLOSURE

This disclosure is generally directed to systems and methods fordisplaying data within an application or environment. More specifically,this disclosure relates to systems and methods for presenting social orother media in a media stream.

BACKGROUND

Many mobile electronic communication devices (including cellular phones,tablet computers, smart phones, and other handheld devices capable ofcommunicating with a server) are capable of operating video gamesoftware, other game software, and application software. Most modernmobile electronic communication devices also allow users to download,purchase, or otherwise install new software (sometimes called “apps”).As mobile electronic communication device technology has advanced, thesoftware available for these devices has become more robust. Forexample, most current mobile electronic communication devices includehigh-resolution color screens that can support games with detailed colorgraphics, and more content may generally fit onto these displays than onscreens of older mobile devices. As a result, using application softwareon mobile electronic communication devices has become more user-friendlyand efficient, and playing games on such devices has become a popularmode of entertainment.

In addition to the increased popularity of software on mobile electroniccommunication devices, social media networks and media publications,which may be designed for promotion through social media networks, havealso experienced a surge of popularity in recent years. For example,social media networks, such as Facebook, Twitter, lnstagram, Tumblr,LinkedIn, Vine, and Pinterest, are presently popular on the Internet.Likewise, publications for news, stocks, entertainment, and sports existon the Internet, and several publications have been adapted forcirculation and disbursement through social media networks or throughvarious news feed mechanisms (such as, for example, RSS).

Despite the popularity of mobile application software and socialnetworking, there is not currently a system or method for providing away for a user to view and/or access a social media and/or other mediastream within a third-party mobile application environment. For example,a user may want to be able to read updates from various social medianetworks without closing or switching out of a mobile game application.Switching between applications, screens, and/or windows to accessvarious interfaces and information sources can be tedious and timeconsuming, and it also requires a user to exit or switch out of, orpotentially minimize, a mobile application in order to access and viewsocial and other media streams or information.

The recent surge in technical capabilities of mobile electroniccommunication devices has also spawned attractive new promotionalpossibilities. Because an increasingly large number of people worldwideown mobile electronic communication devices, many third parties may wishto advertise within the screen of a mobile electronic communicationdevice. For example, when a user plays a game on a mobile electroniccommunication device, the user's full attention is generally directed tothe screen of the mobile electronic communication device. Therefore,providing in-game advertising space in the palm of the user's hand is anattractive proposition for both buyers and sellers of the space. Oneproblem with providing advertising space in the palm of a user's hand,however, is that in-game advertising often requires full use of thescreen of the mobile electronic communication device. Therefore, a useris forced to switch between the game and other applications in order to,for example, access and view social and other media streams orinformation. Valuable advertising time is lost during this time when theuser's full attention is diverted from the screen displaying theadvertisements.

Further, advertisements within an application, such as game software, ona mobile electronic communication device may be presented in variousways. For example, the background of a game might contain a permanent orstatic advertisement for a third party. In most cases, thisadvertisement would generate revenue for the maker of the game, whilealso serving as a valuable promotional opportunity for the third party.However, such advertisements may lack the adaptability andcustomizability to be able to target particular users, as well as to bechanged to reflect, for example, a different third party and/or anupdated advertisement. Additionally, many advertisements are presentlydisplayed as banner ads within mobile application software. Suchadvertisements may be time-cycled in order to display multipleadvertisements in the same space over an elapsed period of time. Bannerads are often general in nature and are not targeted toward a specificaudience. For example, such advertisements do not take a user's socialmedia activity, mobile game activity, or device usage information intoaccount when selecting the most applicable and/or effectiveadvertisements to display to a particular user.

It is the object of the present disclosure to provide an integratedsocial media and other media stream, which may include advertisements,into the display of a mobile application to allow a user tosimultaneously use the third party application and view and interactwith social media. It is an additional object of the present disclosureto provide systems and methods for adaptively selecting social and othermedia posts as well as advertisements for display to a particular user.

SUMMARY OF THE DISCLOSURE

In the following description, certain aspects and embodiments of thepresent disclosure will become evident. It should be understood that thedisclosure, in its broadest sense, could be practiced without having oneor more features of these aspects and embodiments. It should also beunderstood that these aspects and embodiments are merely exemplary.

The present disclosure provides improved systems and methods forincorporating media streaming and presentation in a mobile deviceenvironment. More specifically, the present disclosure provides systemsand methods for incorporating media feed streaming and presentation asan active “add-on” to an application environment that is generallyintended for purposes other than media feed streaming and presentation.For example, consistent with the disclosed embodiments, systems andmethods for displaying a social and/or other media stream within a gameenvironment are disclosed. As used in the present disclosure, mediastreaming refers to relaying media information or data over a computernetwork. Also as used in the present disclosure, media presentationrefers to the display of streamed media information or data. In oneexample, certain disclosed embodiments include systems and processesthat may allow an aggregated social and other media stream orpresentation to be displayed within an application environment, such as,for example, game software.

The disclosed embodiments may provide advantages to both users andmobile application providers. For example, aspects of the disclosedembodiments may provide a mobile device user with a more efficient wayto both use mobile applications and to stay connected to social andother media. For the mobile application provider, there may be afinancial benefit, such as, through increased advertising revenue, forproviding a user with a more efficient way to access both theapplication and social and other media. Users will be able to remain inthe application interface, and subjected to potential advertisingdisplayed therein, for longer periods of time since they will not beforced to close or otherwise divert attention from the application (andthe advertisements) when checking their social and other media. Usersmay also be willing to pay or pay more for a game or other applicationhaving such a social and other media interface, including being willingto pay or pay more for a game or other application having such a socialand other media interface that does not include advertisements.

Other aspects are set forth below in this disclosure. For example, amethod for displaying data is disclosed. The method may includedisplaying an application on a mobile electronic communication device.The method may further include contacting at least one media serverconfigured to store media data and receiving, at the mobile electroniccommunication device, first available media data from the at least onemedia server. The method may further include displaying the receivedavailable media data in a media stream within the application. Themethod may also include contacting, after a predetermined amount oftime, the at least one media server and receiving, in response to thecontacting, at the mobile electronic communication device, secondavailable media data from the at least one media server. The method mayfurther include displaying the second available media data in the mediastream.

The disclosed exemplary embodiments may also include a method fordisplaying data, including displaying a mobile electronic communicationdevice environment on a mobile electronic communication device. Themethod may also include contacting at least one media server configuredto store media data and receiving, at the mobile electroniccommunication device, first available media data from the at least onemedia server. The method may further include displaying the receivedfirst available media data in a media stream within the displayedenvironment. The method may also include contacting, after apredetermined amount of time, the at least one media server andreceiving, in response to the contacting, at the mobile electroniccommunication device, second available media data from the at least onemedia server. The method may also include displaying the secondavailable media data.

In accordance with other aspects of the disclosure a system fordisplaying data is disclosed. The system may be configured to display anapplication on a mobile electronic communication device. The system mayfurther be configured to contact at least one media server configured tostore media data and receiving, at the mobile electronic communicationdevice, first available media data from the at least one media server.The system may further be configured to display the received availablemedia data in a media stream within the application. The system may alsobe configured to contact, after a predetermined amount of time, the atleast one media server and receiving, in response to the contacting, atthe mobile electronic communication device, second available media datafrom the at least one media server. The system may further be configuredto display the second available media data in the media stream.

In accordance with some embodiments of the present disclosure, acomputer-readable medium is disclosed that stores instructions and that,when executed by one or more processor(s), causes the processor(s) toperform processes consistent with disclosed embodiments.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory only.They are not restrictive of the disclosed embodiments, as claimed.Further, it is to be understood that the terms “new,” “old,” “older,”and similar relational terms, in relation to media data are used tofacilitate the description only, and are not limiting of the disclosure.For example, according to some aspects, new may refer to data receivedat a mobile electronic communication device after the old data. It doesnot necessarily temporally limit the generation or transmission of thenew or old media data. New media data and old media data (or older mediadata) may also be generally referred to as first media data and secondmedia data, respectively. For example, first media data may be receivedprior to the second media data. However, these terms are not intended totemporally limit the generation or transmission of the media data.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate several embodiments and, togetherwith the description, serve to explain the disclosed principles. In thedrawings:

FIG. 1 is a block diagram of an exemplary mobile device system,consistent with the disclosed embodiments;

FIG. 2 is a block diagram of a computing system, consistent with thedisclosed embodiments;

FIG. 3 is a flowchart of an exemplary process for providing a socialmedia stream within a video game interface;

FIG. 4 is a flowchart of an exemplary process for receiving social mediadata;

FIG. 5 is a flowchart of an exemplary process for organizing thereceived media data;

FIG. 6 is a flowchart of an exemplary process for transmitting andstoring user data;

FIG. 7 is a flowchart of an exemplary process for selecting which mediaposts and advertisements to display in an exemplary media stream; and

FIGS. 8A-D are exemplary graphic displays for an exemplary video gameinterface with exemplary media streams and presentations.

DETAILED DESCRIPTION

Reference will now be made in detail to exemplary embodiments, examplesof which are illustrated in the accompanying drawings and disclosedherein. Wherever convenient, the same reference numbers will be usedthroughout the drawings to refer to the same or like parts.

It is to be understood that the terms “new,” “old,” “older,” and similarrelational terms, in relation to media data are used to facilitate thedescription only, and are not limiting of the disclosure. For example,according to some aspects, new may refer to data received at a mobileelectronic communication device after the old media data. According tosome embodiments, new media data may refer to media data with a receivedtimestamp that occurred at a later time than the data already received.It does not necessarily temporally limit the generation or transmissionof the new or old media data. According to some embodiments, new mediadata and old media data or older media data) may also be generallyreferred to as first media data and second media data, respectively. Forexample, first media data may be received prior to the second mediadata. However, these terms are not intended to temporally limit thegeneration or transmission of the media data.

Exemplary games and game software for use with exemplary embodiments ofthe present disclosure may include solitaire, blackjack, mahjong,minesweeper, and dominoes, as well as video-style games (such as, forexample, race car driving games, darts games, and single-player ormulti-player roleplaying games), other puzzle games, other card-basedgames, other casino-style games, “Sandbox” games, and any combination ofthese. Although certain exemplary embodiments may be described inrelation to games and game software, the present disclosure is notlimited to games and game software. The systems, methods, and principlesof this disclosure may be implemented to any type of mobile applicationor device environment, such as, for example, blog readers, e-readers,web browsers, email, stock-trading or monitoring applications,news-reading applications, message applications, weather applications,shopping applications, “home” screens, operating system windows,video/audio media viewers (such as, for example, for movies, webclips,music videos, television programs, etc.), and/or productivityapplications (such as, for example, word processing, spreadsheet,presentation, and/or calendaring applications), as will be appreciatedby those of ordinary skill in the art.

Although certain exemplary embodiments may be described in relation tomobile or handheld electronic devices, the present disclosure is notlimited to mobile or handheld electronic devices, but may be applicableto many different types of electronic devices. The systems, methods, andprinciples of this disclosure may be implemented to any type ofelectronic device capable of displaying social media and/or other mediastream or presentation within or alongside application software, suchas, for example, gaming (gambling) machines (such as, for example, videoslot and video poker machines), internet television interface boxes(such as, for example, those known by the names and/or manufactured byAppleTV, Amazon Fire TV, Boxee, Google TV, Google Chromecast, TiVo, andRoku), and cable television interface or television converter boxes(such as, for example, those manufactured by Motorola, ScientificAtlanta, Cisco, Jerrold, General Instruments, and Pace for use by orwith cable and other television providers such as, for example, Comcast,Time Warner, AT&T, Charter, DirectTV, and Dish), as will be appreciatedby those of ordinary skill in the art.

Additionally, certain embodiments may also be implemented within anoperating system operating on a user device. For example, it may bedesirable to provide a built-in media stream or presentation within anoperating system. In such an embodiment, the operating system itselfcreates, handles, and displays the media stream and/or presentation,without the need for the user to install, execute, or run a separateprogram.

Additionally, certain embodiments may also be implemented within awindowed device. For example, some user devices may be operatingsoftware that allows different applications to be open in differentwindows or zones of the viewable area. Embodiments consistent with thepresent disclosure may be implemented within each window or zone, whichmay enable a user to access the media stream or presentation withoutneeding to open, close, or minimize windows or zones on the device. Forexample, if certain embodiments are implemented within an operatingsystem, it may be desirable to further implement the media stream andpresentation, consistent with disclosed embodiments, within each windowor zone running within the operating system. In such examples, thestream presentation may be provided in a separate window, or in aspecifically designated and/or dedicated portion of the screen. Incertain embodiments, when visible or when minimized, an iconrepresenting the stream may be visible on the screen, for example, alongthe bottom and on top of other open applications (such as, for example,in a toolbar, taskbar, notification panel or zone, or systemicon/information panel or zone). In such instances, a user may open,minimize, maximize, and/or make changes to the stream window byselecting an icon visible on the screen.

As used herein, a server includes any remote system capable of receivingcommunication from a handheld device over a network, such as, forexample, the Internet, intranet, local area network, wide area network,telecommunications network, and/or Ethernet.

According to some embodiments, the systems or methods disclosed mayallow a software application company and/or provider, such as for mobilegame software, to provide updated or aggregated content, includingsocial media posts, other media posts, and/or advertisements, to amobile electronic communication device for use in game software thatoperates on the mobile electronic communication device. The game may bemore attractive to potential users and may provide additional revenuefor the game provider, through an increase in user downloads, targetedadvertisements, paid subscriptions or purchases of the game application(and any various in-app purchases), and advertising revenue spurred bythe increase in users.

The game may be more attractive to third-party advertisers and providepromotional revenue for the game provider because it allows the user toconsume social media without requiring the user to divert their eyesfrom the application in order to access social media. Certainembodiments may provide an avenue for selling time blocks of in-gameadvertising. Third parties may now have the option to advertise only toselected users, or only periodically, rather than permanently, within agame for a mobile electronic communication device. This flexibility mayallow the negotiation of promotional contracts that involve lessguess-work with respect to the placing of advertisements or virtualproducts within a game on a mobile electronic communication device.Further, an embodiment herein also provides promotional opportunitiesfor third parties that could not previously afford to placeadvertisements within a game for a mobile electronic communicationdevice. For example, while purchasing a promotional spot that lasts thelifetime of the game or that is shown to every viewer may not befeasible, it may be much cheaper to purchase a smaller block of time oran advertisement slot, including a slot for a specific target audience.

FIG. 1 shows a diagram of an exemplary mobile device system 100 that maybe configured to provide a game along with an embedded social and othermedia stream or presentation within the game interface, consistent withthe disclosed embodiments. The exemplary system may include a userdevice 120 interfacing with a provider server 140 and a plurality ofthird party servers 150 via network 130.

A user 110 may operate user device 120 to operate mobile softwareapplications. User device 120 may be any form of computing or mobileelectronic communication device. For example, user device 120 may be acellular phone (iPhone®, Android phone, Windows® phone), a tabletcomputer (iPad®, Android Tablet, Microsoft Surface™, etc.), or a laptop,desktop, or portable computer. User device 120 may be capable ofaccessing network 130. Further, user device 120 may incorporate one ormore display screens. For example, certain user devices 120 mayimplement a single display, whereas other user devices 120 may include aplurality of displays that work or operate in conjunction. In certainembodiments, user device 120 may be capable of caching information inmemory or in permanent storage including but not limited to a database,as discussed in detail with regard to FIG. 2.

Network 130 may include, for example, the Internet, a private datanetwork, a virtual private network using a public network, a WiFinetwork, a LAN or WAN network, a Bluetooth network, and/or othersuitable connections that may enable information exchange. Alternativelyor in addition, network 130 may include a cellular phone or datanetwork, which may be provided by cellular phone service provider, suchas, for example, Verizon, AT&T, Sprint, T-Mobile, or Metro PCS in theUnited States. In some embodiments, user device 110 may connect to aninterface (not shown) that may, in turn, pass a request for datainformation to provider server 140 and/or third party server(s) 150. Theinterface may be part of provider server 140 or a separate device,depending on the embodiment. The interface may also include its ownserver and/or specialized firewall hardware. In addition, providerserver 140 may actually be a plurality of servers.

Provider server 140 may be the server maintained and operated by thevideo game provider (not shown). The game provider may be the party whomaintains, through server 140, for example, a web-based orapplication-based environment. The game provider may also be the partywho provides a mobile application of a game to users. The game providermay provide the user with a mobile application through use of an online,download function. The provider may make the mobile applicationavailable for download by a user by uploading it to a web applicationstore such as the Apple App Store, the GooglePlay™ store, the Apps forWindows store, the Amazon Appstore, or other online application providerwebsite. User device 120 may, for example, download a mobile gameapplication. It may alternatively, connect to a web-hosted gameapplication though network 130.

In certain embodiments of the present disclosure, user device 120 maymaintain a continuous link with provider server 140 while the game isoperating. A continuous link may allow provider server 140 tocontinuously track the user's game play. In another embodiment, nocontinuous link exists, but provider server 140 may still track a user'sgame play. For example, user device 120 may periodically access providerserver 140 to obtain updated information. Additionally, user device 120may track or gather, and periodically or otherwise at a predeterminedtime or event, report game play statistics and/or device use statisticsto provider server 140. Provider server 140 may gather the data providedby user device 140 and store the gathered data, for example, in memory230 or in database 240. Reporting user statistics is discussed infurther exemplary detail with respect to FIG. 7. Gathered data may beused by provider server 140 to determine which social and other mediaposts and advertisements to display to user 110 in the future. Anexample of determining which posts and/or advertisements to display isdiscussed in detail with respect to FIG. 6.

System 100 may additionally include one or more third party servers 150.Third party servers 150 may be operated by entities other than user 110and the video game provider. For example, third party servers 150 may beoperated by social media entities (such as, for example, Facebook,Instagram, Twitter, Tumblr, LinkedIn, Vine, Orkut, Renren, Sina, Weibo,and Pinterest), other media entities (such as, for example, New YorkTimes, Huffington Post, Buzzfeed, FiveThirtyEight, Vox, and ESPN),and/or advertisers. Third party servers 150 may store social and/orother media data relevant to user 110. In some embodiments, third partyservers 150 may transmit social and/or other media data, via network130, to user device 120. User 110 may then access social and/or othermedia data on user device 120. In alternative embodiments, third partyservers 150 may connect to provider server 140 via network 130. Thirdparty servers 150 may then transmit social and/or other media datarelevant to a particular user 110 to provider server 140. Providerserver 140 may then store the media data, and/or transmit it, vianetwork 130, to user device 120.

In some embodiments, the third party server or servers may be managed byan entity that compiles, aggregates, or sorts at least a portion of, orin some cases all of, the media stream data or information. For example,the entity may use filters, key words, or algorithms to separate postsor media data into categories or topics, such as by content, interest,or key words, or may do so manually. Data or information from one ormore of the categories or topics (including related advertisements) maythen be provided to a user via the media stream. The data or informationshown in the media stream may be separated into one of the sorted orcompiled categories, for example, by selecting a category or topic inthe media stream or in settings for the media stream. Sample categoriesor topics include, but are not limited to, news, science, technology,finance, books, stocks, sports, shopping, local events (which may linkedeither to a user's actual location such as by GPS or a “home” or otherlocation defined by the user), travel, style and fashion, food anddrink, cars, health and fitness, celebrity news, celebrity gossip,politics, TV and movies, movies and entertainment, and weather. Forexample, a user may select a “news” category, and the media stream willdisplay information, media data, or posts related to news, such as mediadata from the New York Times or other newspapers, media data from newsagencies such as CNN, and/or posts, such as Twitter or Facebook posts,that contain or link to news articles or videos. When more than onecategory is selected by a user, the media stream may be populated withposts or media data from each of the selected categories.

FIG. 2 shows a diagram of an exemplary computing system 200 illustratinga computing system configuration that may be associated with providerserver 140, and user device 120, consistent with disclosed embodiments.In some embodiments, computing system 200 may have one or moreprocessors 210, one or more memories 230, and one or more input/output(I/O) devices 220. In some embodiments, computing system 200 may takethe form of a server, general purpose computer, a mainframe computer,laptop, smartphone, mobile device, or any combination of thesecomponents. In certain embodiments, computing system 200 (or a systemincluding computing system 200) may be configured as a particularapparatus, system, and the like based on the storage, execution, and/orimplementation of the software instructions that perform one or moreoperations consistent with the disclosed embodiments. Computing system200 may be standalone, or it may be part of a subsystem, which may bepart of a larger system.

Processor 210 may include one or more known processing devices, such as,for example, a microprocessor from the Pentium™ or Xeon™ familymanufactured by Intel™, the Turion™ family manufactured by AMD™, or anyof various processors manufactured by Sun Microsystems or Qualcomm, suchas Snapdragon processors. Processor 210 may constitute a single-core ormultiple-core processor that executes parallel processes simultaneously.For example, processor 210 may be a single-core processor configuredwith virtual processing technologies. In certain embodiments, processor210 may use logical processors to simultaneously execute and controlmultiple processes. Processor 210 may implement virtual machinetechnologies, or other known technologies to provide the ability toexecute, control, run, manipulate, store, etc. multiple softwareprocesses, applications, programs, etc. In another embodiment, processor210 may include a multiple-core processor arrangement (e.g., dual, quadcore, etc.) configured to provide parallel processing functionalities toallow computing system 200 to execute multiple processes simultaneously.One of ordinary skill in the art would understand that other types ofprocessor arrangements could be implemented that provide for thecapabilities disclosed herein. The disclosed embodiments are not limitedto any type of processor(s) configured in computing system 200.

Memory 230 may include one or more storage devices configured to storeinstructions used by processor 210 to perform functions related to thedisclosed embodiments. For example, memory 230 may be configured withone or more software instructions, such as program(s) that may performone or more operations when executed by processor 210. The disclosedembodiments are not limited to separate programs or computers configuredto perform dedicated tasks. For example, memory 230 may include a singleprogram that performs the functions of computing system 200, or couldcomprise multiple programs. Additionally, processor 210 may execute oneor more programs located remotely from computing system 200. Forexample, user device 110, may, via computing system 200 (or variantsthereof), access one or more remote programs that, when executed,perform functions related to certain disclosed embodiments. Processor210 may further execute one or more programs located in database 240. Insome embodiments, programs may be stored in an external storage device,such as a cloud server located outside of computing system 200, andprocessor 210 may execute programs remotely. It is understood thataccording to some embodiments processor 210 may include more than oneprocessor that are each processor is configured to perform some of thesteps described herein, such that together they perform the disclosedmethods.

Programs executed by processor 210 may cause processor 210 to executeone or more processes related to providing a social and other mediastream within a game interface as disclosed in the present embodiments.

Memory 230 may also store data that may reflect any type of informationin any format that the system may use to perform operations consistentwith the disclosed embodiments. For example, memory may store media dataas received from third party servers 150. It may also store game-playstatistics collected from user device 120. Additionally oralternatively, it may store device statistics about user device 120itself (for example, phone number, GPS location, device type or modelnumber, Apple IDFA, OpenUDID, MAC Address, whether on WiFi or celltower, and wireless service provider or ISP). User statistics gatheredfrom user device 120 may be stored in a user profile. Additionally,memory 230 may store user data such as, for example, geographiclocation, age, gender, type of games played, type of user device used,length of game play, in-app purchasing habits, win-loss ratio, time ofday played, day of the week played, local weather, game personalizationchoices such as backgrounds and/or avatars, posts that have beenexpanded from the social and other media stream or presentation, or anyother data relevant to the subject of the advertisement. Memory 230 maystore instructions to enable processor 210 to execute one or moreapplications, such as game-play applications, data-processingapplications, search-algorithm applications, and/or any other type ofapplication or software. Alternatively, the instructions, applicationprograms, etc., may be stored in an external storage (not shown) incommunication with computing system 200 via network 130 or any othersuitable network. Memory 230 may be a volatile or non-volatile,magnetic, semiconductor, tape, optical, removable, non-removable, orother type of storage device or tangible (i.e., non-transitory)computer-readable medium.

The application programs may be executed by processor 210 to operate anddisplay an application environment, consistent with the disclosedembodiments. In some embodiments, there may be a single applicationenvironment that contains both a base application plus media streamingand presentation systems. In other embodiments, the media streaming andpresentation systems may be performed in a separate application thatruns simultaneously with the base application. In other embodiments, themedia streaming and presentation is split up between being a separateapplication and being part of the base application. For example, themedia streaming system may be a separate application, while the mediapresentation system may be integrated into the base application. As aresult, the user may be able to interact with both the application andthe media stream at the same time, such as for example, playing a gamewhile also having the option to interact with the media stream withoutdisrupting the game, whether the media stream is in a separateapplication from the game or within the same application. In someembodiments, the game or other application may pause or suspend, and maydisplay a message to the user when the user interacts with the mediastream.

Memory 230 may include social media data 232. Social media data 232 mayinclude information related to data received from various social medianetwork providers. For example, social media data may include posts thatuser 110 would be able to access through their social networkingaccounts with various social network providers. Third party servers 150may provide this information to provider server 140 via network 130.Provider server 140 may request data from third party servers 150, andtransmit the data to user device 120 by provider server 140.Additionally or alternatively, social and other media data 132 may betransmitted to provider server 240 by user device 120. Alternativelysocial media data 232 may be stored in database 240 or in an externalstorage (not shown) in communication with computing system 200 vianetwork 130 or any other suitable network.

Memory 230 may further include advertisement data 234. Advertisementdata 234 may include information about particular advertisers who havepurchased ad space with the game provider. For example, advertisementdata 234 may include the actual advertisement (video, graphic, link,etc.) and/or a target profile. The target profile may include certaincharacteristics that the provider server may look for when choosingwhich users to display the advertisement. Target features may include,for example, location, phone type, game being played, social and othermedia networks used, whether the user has another specific gameinstalled, whether the user has spent money in the game, how many timesthe user has viewed a particular advertisement, or any other data theprovider server may have saved about a particular user 110.Advertisement data may additionally include advertiser accountinformation, such as payment information, about the advertiser itself.

Memory 230 may further include other media data 236 which mayadditionally store data such as blog posts, news articles, stocksinformation, sports scores, weather information, television guides,celebrity news and gossip, posts from other players regarding the gamecurrently being played, and/or videos that may be put in the social andother media stream or presentation. Other media data 236 may includedata that user 110 has indicated, for example by clicking or selecting abutton, that he or she wishes to view in his or her media stream orpresentation. Additionally, other media data 236 may include data fromdefault data sources that the game provider chooses to include in themedia stream or presentation.

Processor 210 may analyze social media data 232 with reference toadvertisement data 234. For example, processor 210 may analyze socialmedia data 234 to determine if the related user possesses certain targetfeatures identified in advertisement data 234. Additionally, processor210 may analyze certain social media data 232 to determine other socialmedia posts that may be relevant to user 110. For example, processor 210may analyze social media data 232 to determine trending topics containedtherein. Processor 210 may then select additional social and other mediaposts that may also be relevant to and desired by the user.

Processor 210 may also analyze other media data 236 with reference tosocial media data 232. For example, processor 210 may analyze socialmedia data 232 to determine if certain data stored in other media data236 may be relevant to user 110. As discussed above, processor 210 mayanalyze social media data 232 to determine trending topics therein, andmay then select other media data that may also be relevant and desiredby the user for display to the user in the stream or presentation.

In some embodiments, processor 210 may analyze advertisement data 234,other media data 236, and/or social media data 232 into categories ortopics. Data or information relevant or related to the categories ortopics may be selected by the user and displayed in the media stream.

I/O devices 220 may be one or more device that is configured to allowdata to be received and/or transmitted by computing system 200. I/Odevices 220 may include one or more digital and/or analog communicationdevices that allow computing system 200 to communicate with othermachines and devices, such as, for example, other components ofexemplary system 100. For example, computing system 200 may includeinterface components, which may provide interfaces to one or more inputdevices, such as one or more keyboards, mouse devices, touchscreeninterface, and the like, which may enable computing system 200 toreceive input from an operator (not shown).

Computing system 200 may also contain one or more database(s) 240.Alternatively, computing system 200 may be communicatively connected toone or more database(s) 240. Computing system 200 may be communicativelyconnected to database(s) 240 through network 140. Database 240 mayinclude one or more memory devices that store information and areaccessed and/or managed through computing system 200. By way of example,database(s) 240 may include Oracle™ databases, Sybase™ databases, orother relational databases or non-relational databases, such as Hadoopsequence files, HBase, or Cassandra. Additionally or alternatively,computing system 200 may implement an SQL server database or SQL serverdatabase client. The databases or other files may include, for example,data and information related to the source and destination of a networkrequest, the data contained in the request, etc. Systems and methods ofdisclosed embodiments, however, are not limited to separate databases.Database 240 may include computing components (e.g., database managementsystem, database server, etc.) configured to receive and processrequests for data stored in memory devices of database(s) 240 and toprovide data from database 240.

Further, although sometimes discussed here in relation to providerserver 140, it should be understood that variations of computing system200 may be used by other components of system 100, including, forexample, user device 120 and/or third party servers 150. Computingsystem 200 may be a single server or may be configured as a distributedcomputer system including multiple servers or computers thatinteroperate to perform one or more of the processes and functionalitiesassociated with the disclosed embodiments.

In some embodiments, at least one computing device in user device 120may include the same or similar configuration and/or components ofcomputing system 200. Computing system 200 when implemented in userdevice 120 may include hardware and/or software installed therein forperforming methods and processes disclosed herein. Computing system 200may, when implemented on user device 120, allow user 110 to influencethe content displayed in their media stream or presentation. Forexample, user 110 may be able to select which social media networks,other media information or posts, and advertisements they wish to seedisplayed. In effect, user 110 may be able to directly influence theadvertisement data 234, other media data 236, and social media data 232stored in memory 230. FIG. 3 is an exemplary flow chart that includessteps taken by a mobile communication system to display a social mediastream or presentation in accordance with some embodiments. System 100operates a game at step 310. The game may be a game application that hasbeen downloaded to user device 210. The game may also be a web-basedgame that user device 210 accesses through network 130.

In some embodiments, as user 110 interacts with a game and/orapplication, the media stream and/or presentation may be updated ormodified to reflect the interaction. For example, if user 110 doessomething positive or noteworthy in a game (for example, in solitaire,moving an ace to the foundation or playing a special gold-backed card),provider server 140 or user device 120 may be configured to display touser 110, or to prompt user device 120 to display to user 110, acongratulatory message in the stream. The displayed message may be anapplication status. An application status may be, for example, apositive or noteworthy event within the game or application. Forexample, an application status may include, completing a level,unlocking a reward or bonus, defeating a monster, winning a game, payinga 100^(th) game, etc. Additionally, provider server 140 or user device120 may present user 110 with a reward, feature update, and/oradditional/modified game or application functionality (for example, acoin bonus or extra game play levels). Provider server 140 or userdevice 120 may also offer user 110 such a reward if user 110 selects,taps, or otherwise interacts with that post or message in the stream.Additionally or alternatively, if user 110 does something positive ornoteworthy in the game, such as win or complete a level, user device 120or provider server 140 may be configured to prompt user 110 to post thedetails of the win to one or more of the user's social network(s) (suchas Facebook or Twitter). According to some embodiments, the details maybe posted to the user's social network(s) after user device 120 receivesan indication that the user wishes to post to the social network(s),such as through the user tapping button on a screen in response to theprompt. The details of the post by the user may be an applicationstatus.

In some embodiments, the prompt may appear in a popup window orslide-out window, or may appear in the media stream itself. The promptmay also appear as an interactive message. For example, when the promptappears in the media stream (or a slide-out or popup window), it mayprovide a message to the user and may also provide suggestions promptingthe user to post information, such as an application status, to one ormore social networks. When the user selects the post or one of theicons, the application status or information may be automatically postedto a social media network corresponding to the selected icon when theuser is logged into the network. When a user is not logged into theselected network, selecting the icon may open a login window for theuser to login to the network so that the status can be posted.

In some embodiments, user 110 may also be able to interact with others(e.g., their friends) that are also playing the game. For example, if auser's social network connection (such as a Facebook “friend” or“followed” Twitter feed) posts to Facebook or Twitter, it may include ahashtag or other social media topic/trend indicator referencing a gameplayed by user 110 or referencing a game that user 110 may be interestedin playing. User 110 may select the post containing the hashtag orindicator, the game application will receive that information, and thegame application will allow the user to play the referenced game. Insome embodiments, such a post may also contain metadata or other hiddeninformation that allows the game to receive additional information notapparent to the user and reflect a particular configuration, forexample, a particular deal of cards to play in blackjack. In someembodiments, user 110 may receive a reward, feature update, and/oradditional/modified game or application functionality (e.g., bonus coinsor points) for selecting or otherwise interacting with the post.

In some embodiments, the media stream and/or presentation may presentuser 110 with information that might be used by the same or a differentapplication program. For example, if a user is playing a game, and oneof the user's social network connections posts to Facebook or Twitterincluding a hashtag or other social media topic/trend indicatorreferencing an event that user may wish to attend, user 110 may selectthe post containing the hashtag or indicator, the user's calendarapplication will receive that information, and the calendar applicationwill place the event on the user's calendar. In some embodiments, such apost may also contain metadata or other hidden information that allowsthe application to receive additional information not apparent to theuser and reflect a particular configuration, for example, the time,location, directions, details, and/or other attendees for the event.

At step 320, user device 120 may contact provider server 140 to checkfor social media data. In other embodiments, user device 120 maycommunicate with third party servers 150 directly, without going throughprovider server 140. Additionally or alternatively, provider server 140or user device 120 may check contact third party servers 150 to checkfor social media data at this step. If social media data is found,either user device 120 or provider server 140 may receive the socialmedia data from the source (step 330). Once social media data isreceived, for example, by provider server 140 or user device 120, it maybe stored in memory 230 and/or in social media data 232. If social mediadata is received by provider server 140, it may then be transmitted touser device 120.

Social and other media data 232 may be displayed to user 110, via userdevice 120, at step 340. User device 120 may then display the data in asocial media stream or presentation. The social media stream orpresentation may combine social media data from a plurality of varioussocial media networks. Additionally, user device 120 may displayadvertisements, articles, publications, and selected posts, determinedby processor 210 as relevant to user 110 in the social and other mediastream or presentation. User device 110 may display the social mediastream or presentation within the video game interface. User device 110may display the social media stream directly within the game play, so auser may view both the game and the social media stream or presentationwithout opening additional applications or windows. Therefore, the userwill not have to close or minimize the game to view and interact withinformation within the social and other media stream or presentation.For example, the user may interact with the media stream and theapplication simultaneously, such that the user can interact with themedia stream without interrupting or suspending the use or processing ofthe application, allowing the user to interact with either theapplication or the media stream at a given time. In this way,simultaneous interaction may allow the user to use the application(e.g., to play a game, watch a movie, or read a book) while the mediastream updates or otherwise provides content or information to the user.If the user chooses to use or interact with the media stream (e.g., to“like” a post or click on a link within a Twitter feed to open a webbrowser), the application may maintain its state for the duration of theinteraction with the media stream. In some embodiments, when the userinteracts with the media stream, the application may suspend/pause, ifneeded, for the duration of the interaction. Once the user concludes theinteraction with or based upon the media stream (e.g., by submitting acomment or “tweet” or by closing a browser window), the application isthen ready to resume use and may automatically un-suspend or un-pause.According to some embodiments, simultaneous access allows the user toswitch back and forth between interacting with the application and withthe media stream (or with a window opened by the user's interaction withthe media stream).

Provider server 140 or user device 120 may, periodically, continuously,or manually based upon user control, update the social media stream orpresentation to incorporate new posts. For example, at step 350, userdevice 120 may contact provider server 140 to check for new social mediadata. In certain embodiments, user device 120 may communicate with thirdparty servers 150 directly. Additionally or alternatively, providerserver 140 may contact third party servers 150 to check for new socialmedia data at this step. If new social media data is found, either userdevice 120 or provider server 140 may receive the new social media datafrom the source (step 360). Once social media data is received, forexample, by provider server 140, it may be stored in memory 230 and/orin social media data 232. Again, if new social media data is received byprovider server 140, it may then be transmitted to user device 120. Oncethe new social media data is received, user device 120 may then updatethe social media stream or presentation to display the new social mediadata to user 110. For example, as discussed and supported elsewhereherein, the media stream may appear as a list of media data, and may beupdated such that the new media data appears at the top of the stream.Previous media data may progress down the list as new media data isadded. The media stream thereby creates a sequential list of media datathat is updated as new media data is received. The media data in thestream may be sorted by, for example, time received, time of the mediadata event, priority, importance, popularity, financial value, or otherpreferences. User device 120 may poll for updates, receive “pushed”updates, or may check for updates at an interval of time set by providerserver 140 or by user 110. For example, if the new stream data check istriggered based upon user control, user 110 may indicate that he or shewishes to check for or poll new updates by scrolling down on the socialand other media stream. If user 110 scrolls to or near the end of theoldest data that has been acquired, a check for older data may betriggered. Older posts may be accessed, for example, with or withoutbound. Older posts may be accessed, for example, by scrolling/pagingback in the media stream, or by other means. Caching of posts to thefile system or a database on user device 120, provider server 140, orsome combination of the two. In certain embodiments, caching posts maybe incorporated in order to avoid unbounded memory use. Checks for newand old data could happen simultaneously if the stream is configured topoll for new media data periodically. Check for old data may also occurif the user scrolls towards the oldest data in the stream and triggers acheck for old data. According to some embodiments, updates may also bereceived, for example, by “pushing” data from other devices, such asservers. Push updates may not require the user device to contact theprovider servers.

In certain embodiments, updating the media stream may only occurmanually. For example, a user may indicate, by interfacing with userdevice 120 that he wishes to have the media stream updated. In someembodiments, updating the media stream may only occur on a predeterminedinterval. In some embodiments, updating the media stream may occur basedon a combination of automated updates on a predetermined interval andmanual updates to the media stream. For example, a predeterminedinterval may be set, but the user may still have an option to update themedia stream manually, such as by a refresh button displayed on userdevice 120.

Further, it should be noted that although the steps of the exemplaryflowchart in FIG. 3 are discussed with relation to social media data,the same or similar steps may be implemented with relation toadvertisement data 234 or other media data 236, or any combination ofthe social media data 232, advertisement data 234, and/or other mediadata 236. Additionally, it should be noted that the steps of theexemplary flowchart may alternatively be implemented entirely on userdevice 120, entirely on provider server 140, or any combination of thetwo.

FIG. 4 is an exemplary flowchart that includes steps taken by mobilecommunication system 100 to gather social media data. At step 410,provider server 140 or user device 120 may contact a plurality of thirdparty servers 150. Third party servers 150 may be responsible forstoring social media data that has recently been posted to the socialmedia website or network that is maintained by the particular thirdparty server 150. Provider server 140 or user device 120 may access thesocial media data stored in third party servers 150 that is relevant toa particular user 110. Provider server 140 then may check to see ifthird party servers 150 have any social media data related to theparticular client 110.

If third party servers 150 indicate that they have social media datarelated to the particular client 110, they may then transmit therelevant social media data to provider server 140. In some embodiments,third party server 150 may transmit the relevant social data directly touser device 120, without going through server 140. In this way, providerserver 140 or user device 120 may receive a plurality of social mediadata associated with various social media networks (step 420). In someembodiments, user 110 may indicate to provider server 140 which socialmedia networks he or she would like to see in his or her social mediastream or presentation. Provider server 140 may then only gather datafrom the third party servers 150 associated with the social networks theuser has indicated.

At step 430, provider server 140 or user device 120 then combines thesocial media data into a single list. Because provider server 140 oruser device 120 may be receiving social media data from a plurality ofthird party servers 150, processor 210 may organize and combine all thereceived data from the plurality of third party servers into a singlecomprehensive list of all data relevant to particular user 110. In someembodiments this list may be organized chronologically. The combiningand organizing of social media data is discussed in detail with respectto FIG. 5. According to some embodiments, provider server 140 or userdevice 120 does not combine the social media data into a single list,but rather may be configured to provide separate social and other mediastreams or presentations for each individual source. For example, datafrom each individual third party server 150 may be displayed in separatemedia streams or presentations. For example, posts from Facebook may becontained in a separate stream or presentation than posts from Twitter.A user 110 may select to display a single stream or presentation, forexample, by selecting or clicking on a particular stream or presentationor a symbol representing a particular stream. Additionally, in certainembodiments, user 110 may choose to combine the streams or presentationsinto a single stream or presentation, for example by deselecting aparticular stream or presentation or a symbol representing a particularstream or presentation. Additionally media streams or presentations maybe combined into categorized groupings. A user may, for example,indicate a category of media and/or media streams they wish to view. Forexample, a user may indicate that they wish to see only social mediastreams or presentations, or a user may indicate that they wish to seeonly news related media streams or presentations.

In certain embodiments each individual media stream or presentation maybe color coded differently. For example, the Twitter media stream may bea different color than the Facebook media stream. Additionally, whendisplayed as a single media stream or presentation, posts from differentmedia providers may be color coded based on the provider. For example,posts from Twitter may be a different color than posts from Facebook.

Additionally, provider server 140 or user device 120 may determine ifthere are duplicate posts. For example, the data received from thirdparty servers 150 may contain the same post from multiple differentservers 150. Provider server or user device 120 may conduct a comparisonof the received data from each third party server 150 as the data isbeing combined. If provider server 140 or user device 120 contain thesame post, that post may be displayed only once in the social or othermedia stream or presentation. For example, provider server 140 or userdevice 120 may eliminate duplicates from the social or other mediastream or presentation.

Additionally or alternatively, provider service 140 or user device 120may also determine if there are duplicate posts based on, for example, auser's multiple subscriptions to the same media channel. For example, auser 110 may subscribe through a social network, such as Facebook, toreceive posts from a certain media source (e.g., New York Times). User110 may also indicate within the application environment that they wishto receive media posts from the same media source (e.g., New YorkTimes). Deduplication methods, as described above, may prevent the samepost from the same media source from showing up in a user's social andother media stream or presentation multiple times. For example, providerserver 140 or user device 120 may conduct a comparison of the variousmedia source subscriptions. If provider server 140 or user device 120contain multiple subscriptions to the same media source, posts from thatsource may only be displayed once in the social or other media stream orpresentation. For example, provider server 140 or user device 120 mayeliminate duplicates from the social or other media stream orpresentation, and may allow the user to select a preference of fromwhich media source the duplicate should be shown (e.g., from Facebook orfrom New York Times).

Further, it should be noted that although the steps of the exemplaryflowchart in FIG. 4 are discussed with relation to social media data,the same or similar steps may be implemented with relation toadvertisement data 234 or other media data 236, or any combinationthereof. Additionally, the steps of this exemplary flowchart may beimplemented solely on user device 120, solely on provider server 140, oron any combination of the two.

FIG. 5 is an exemplary flowchart that includes steps taken by mobilecommunication system 100 to aggregate social media data into a singlesocial media stream or presentation. Aggregation of social media postsfrom a variety of social media networks eases the amount of effort user110 must expend in order to review the social media posts relevant tohim or her from a variety of social networks. At step 510, providerserver 140 may receive social media data 232 from a plurality of socialmedia networks. Data may be received continuously, or may be received atspecific time intervals or upon certain events (such as, for example,scoring a certain number of points, completing a level, hand, or boardwithin a game, moving from the menu system to the game, or uncovering akey object or gameplay piece within the game). The intervals and/orevents may be set by provider server 140 or by user device 120, suchthat the game operator or user may define the style of data received.Third party servers 150 may transmit social media to provider server 140or user device 120. Once received, provider server 140 or user device120 may store social media data in memory 230.

At step 520, provider server 140 or user device 120 may sort thereceived social media data by the time it was posted. For example,social media posts contained in the received social media may include atimestamp. A timestamp may indicate the time at which the post was madeon the social media network. Processor 210 may sort the social mediadata by organizing it chronologically by analyzing the timestamps oneach post and ordering the posts accordingly.

In certain embodiments, social and other media posts may be sorted basedon factors other than time. For example, social and other media data maybe sorted based on popularity (e.g., “trending” topics) or relevance toa particular user 110. Further, in some embodiments, media providers maybe able to pay more to have their posts and/or advertisements displayedat the top of the media stream or presentation. In some embodiments, themedia stream may display data or information within categories or topicsselected by a user, or may display data or information (including, forexample, advertisements or social media posts) based on user-selectedkey words.

Additionally, as described in detail with reference to FIG. 4, providerserver 140 does not combine the social media data into a single list,but rather is configured to provide separate social and other mediastreams or presentations for each individual source. For example, datafrom each individual third party server 150 may be displayed in separatemedia streams or presentations. For example, posts from Facebook may becontained in a separate stream than posts from Twitter. A user 110 mayselect to display a single stream or presentation, for example, byselecting or clicking on a particular stream or presentation or a symbolrepresenting a particular stream or presentation. Additionally, incertain embodiments, user 110 may choose to combine the streams orpresentations into a single stream or presentation, for example bydeselecting a particular stream or presentation or a symbol representinga particular stream or presentation.

At step 530, provider server 140 or user device 120 may compile the datainto a single time-ordered list. Because each third party server 150from which provider server 140 or user device 120 receives social mediadata may have a different stream velocity, or delay or lag in theposting and transmission of new social media data, there may be a delaybetween the sorting and compiling steps to ensure that all social mediadata from a given time period had been gathered and sorted before beingdisplayed in the stream to user 110. For example, in some embodiments,receiving the social media data from a plurality of social medianetworks (step 510) may be a continuous process, and as social mediadata is continuously received, processor 110 may continuously sort thedata by time posted (step 520). Then, periodically, processor 110 maycompile the sorted social media data into a finalized, time-ordered listthat user device 120 will then display to user 110. The finaltime-ordered list may be transmitted to user device 120 by providerserver 140 after compilation.

Provider server 140 or user device 120 may further deal with differentstream velocities when polling for older data by, for example, keeping atime-ordered list of incoming posts from each different media stream.Provider server 140 or user device 120 may, for example, receivedifferent media streams from third party servers 150. Provider server140 or user device 120 may then combine the data in chronological orderas discussed above. In certain embodiments, provider server 140 or userdevice 120 may stop or pause combining the data from multiple mediasources (e.g., third party servers 150) into the single list when one ofthe media sources runs out of data. Provider server 140 or user device110 may buffer unmerged data from other media sources until the nexttime provider server 140 or user device 120 poll for old data. In someembodiments, provider server 140 or user device 120 may omit mediasources with a sufficient buffer from the next old data poll when olddata is polled for. This gives the streams that have extra data, such asthose with lower stream velocities, a chance to consume extra dataduring the time-ordered merging process conducted by provider server 140or user device 120, as described above, instead of continuously pollingfor additional data from the media sources and getting farther ahead.

In some embodiments, stream velocity has no effect on provider server140 or user device 120 polling for new media data from the media sources(e.g., third party servers 150), whether user-triggered or periodicallypolled for. For example, all streams or media sources may poll for newmedia data simultaneously. For example, provider server 140 or userdevice 120 may simultaneously poll for new media data from all mediasources simultaneously by communicating with third party servers 150requesting all data from the time of the last data received for thatparticular stream or media source until the present. In someembodiments, received data from all sources may be merged into thetime-ordered list and no buffering of new media data may be necessary tocompensate for differing stream velocities.

Further, it should be noted that although the steps of the exemplaryflowchart in FIG. 5 are discussed with relation to social media data,the same or similar steps may be implemented with relation toadvertisement data and/or other media data, or any combination thereof.Additionally, the steps of this exemplary flowchart may alternatively beimplemented solely on user device 120.

FIG. 6 is an exemplary flowchart that includes steps taken by a mobilecommunication system to report and store user statistics. At step 610user device 120 may receive a request for user data from provider server140. Alternatively, user device 120 may be configured to automaticallysend user data to server 140 at particular intervals. Additionally, anapplication operating on user device 120 may instruct user device 120when to send user data to user device 120.

In certain embodiments, provider server 140 or user device 120 mayrequest user data at certain time intervals which may be set by the gameprovider. Additionally, provider server 140 or user device 120 may haveparticular data points that it requests. For example, requested data mayinclude geographic location, age, gender, type of games played, type ofuser device used, length of game play, in-app purchasing habits,win-loss ratio, time of day played, day of the week played, localweather, game personalization choices such as backgrounds and/oravatars, posts that have been expanded from the social and other mediastream, or any other data relevant to the subject of the advertisement.These user data points may be stored on user device 120. After receivingthe request for user data from provider server 140, user device 120 maycheck for responsive data (step 620). In certain embodiments, userdevice 120 may not receive a request for user data from provider server140, but rather may check for the predetermined data to provider server140 on certain time intervals without receiving a request. Checking forresponsive data may include determining if new media data has beenaccumulated in the time since the last batch of user data wastransmitted to provider server 140.

At step 640, if responsive user data was found in step 630, user device120 may transfer user data to provider server 140. User device 120 maytransmit the data via network 130. In certain embodiments, user device120 may wait to transmit user data until a certain amount of new mediadata has accumulated. For example, user device 120 may wait to transmitgame-play data regarding the user's game-play habits until the user hasplayed the game for a certain length of time or a certain number ofgames. At step 650, provider server 140 may store the received userdata. User data may be stored in memory 230. In certain embodiments,user data stored in memory 230 may be used to determine media postsrelevant to user 110, or may be used to identify target features foradvertising, as discussed in further detail with respect to FIG. 7.

Further, it should be noted that although the steps of the exemplaryflowchart in FIG. 6 are discussed with relation to advertisements, thesame or similar steps may be implemented with relation to social mediaposts and/or other media posts.

FIG. 7 is an exemplary flowchart that includes steps taken by a mobilecommunication system to determine which advertisements to display touser 110. Provider server 140 may be configured to selectively displayadvertisements to users. For example, one advertisement may be relevantto a particular user whereas another advertisement may not, and it maybe beneficial to both user 110 and to the game provider to only displayrelevant advertisements to users.

At step 710, provider server 140 or user device 120 may receiveadvertising data. Advertising data may be transmitted to provider server140 or user device 120 from various third party servers 150 that wish tohave their advertisements displayed to users 110 that play or subscribeto the video game provider's games. Advertising data may include, forexample, at least the advertisement and a target profile indicating atleast one target feature for the target audience of the advertisement.Target features are identified from the advertising data at step 720.The target feature will indicate the type of user the advertiser istrying to target with the advertisement. For example, a target featurecould be geographic location, age, gender, type of games played, type ofuser device used, length of game play, in-app purchasing habits,win-loss ratio, time of day played, day of the week played, localweather, game personalization choices such as backgrounds and/oravatars, posts that have been expanded from the social and other mediastream, or any other data relevant to the subject of the advertisement.

Additionally or alternatively, advertising data including the targetprofile may be provided by provider server 140 or user device 120 to anadvertising entity. The advertising entity may then determine anappropriate ad relevant to the particular user 110 based on the receivedinformation contained in the target profile. The advertising entity maythen provide an appropriate ad they select to a particular user toserver provider 140 or user device 120. Additionally, the advertisingentity (e.g., a third party server 150), may provide a relevantadvertisement directly to user device 120. In some embodiments,advertising may be independent of the gathering and receipt of any userdemographic data.

At step 730, provider server 140 or user device 120 may analyze storeduser data. User data may have been received across network 130 from userdevice 110, as discussed previously in relation to FIG. 1. User data maybe stored in memory 230. Processor 210 may access stored user datarelated to a particular user 110 and analyze user data to determine ifany of the particular user 110 possesses any of the target featuresidentified in the advertising data. When a particular user possesses oneor more of the target features, user device 120 may display theadvertisement to user 110 (step 640). Processor 110 may transmit theadvertisement determined to be relevant to user 110 to user device 120via network 130 for display to user 110. If, the particular user doesnot possess any of the target features, the advertisement may not bedisplayed to the user.

Further, it should be noted that although the steps of the exemplaryflowchart in FIG. 7 are discussed with relation to advertisements, thesame or similar steps may be implemented with relation to social mediadata and/or other media data.

FIGS. 8A-D are exemplary graphic displays for displaying the social andother media stream to the user, consistent with the disclosedembodiments. FIGS. 8A-D show, for example, a media stream including datafrom Facebook; however, additional media sources may be included in thestream consistent with the disclosed embodiments. For example, FIG. 8Ashows a preliminary game interface. From this view, a user 110 may playthe displayed game, here solitaire. User 110 may additionally log in toa social network (e.g., Facebook) in order to have a social and othermedia stream displayed on the screen. The media stream is containedwithin the game-play interface, so a user may be able to view the streamand play the game simultaneously. Further, a user may be able tointeract with the media stream by “commenting” on posts or by “liking”posts. In posts from other social media networks, additional optionsspecific to the network may be available to the user, for example,“retweet,” “follow,” “share,” “poke,” or “favorite.”

The ability to simultaneously interact with both the media stream andthe application allows the user to continue to, for example, play agame, watch a video, or read articles while the media stream displaysposts that the user can read, view, select, or interact with. It isunderstood that simultaneous access means that the user has the optionto interact with either or both of the media stream or the applicationat a given time. In other words, the user can seamlessly switch betweeninteracting with the media stream and the application withoutinterrupting the operation of either program. As one example, the usermay be playing a game and is also able to select a post from the mediastream at the same time. When the user selects the media stream post,the game continues to operate and the user can continue to interact withthe game. This simultaneous interaction may allow the user to use orinteract with an application while the media stream updates or otherwiseprovides its content to the user, and may also allow the user tointeract with the media stream while the application continuesoperating, such as by continuing to show a movie, processinginformation, or updating its state functions. According to someembodiments, simultaneous access allows the user to switch back andforth between interacting with the application and with the media stream(or, in some embodiments, with a window opened by the user's interactionwith the media stream). For example, if the user is playing a game, suchas black jack, the user may be selecting cards or moves during the gamewhile the media stream continues to update its display of informationand content; however, each of the posts in the media stream is availablefor selection by the user, and the user may click on the stream (e.g.,to “like” a post) and then return to the game without interrupting thegame. At a functional system level, the user device, such as, forexample, a touch screen device, may be scanning for user interactionsand will accept interactions in both the media stream portion of thedisplay and in the application portion of the display.

In some embodiments, certain data may be displayed in the social andother media stream or presentation whether or not user 110 is loggedinto any social networks or otherwise selects for the data to bepresented. For example, news content (e.g., New York Times, CNN, orGlamour) may be displayed in the social and other media stream orpresentation with or without user 110 logging in the news contentprovider or otherwise selecting for information to be displayed orpresented from the news content provider. Certain embodiments may allowthis list of possible news content, along with information necessary topoll the news content sources for data (URLs, for example), to betransmitted from provider server 140 to user device 120. In certainembodiments, this list of news sources may be provided in a JSON file,XML file, or any other appropriate data format. The data may be stored,for example, in memory 230. In some embodiments, user device 120 may befurther configured to query the identified news sources for data. Incertain embodiments, user 110 may be able to individually toggle on andoff or otherwise select whether or not each news source is presented inthe media stream. Further, provider server 140 may be configured todynamically update the listing of media sources that are available forthe user to select, log in to, or otherwise choose for presentation inthe media stream. In some embodiments, the JSON control may be dynamicand the media stream or presentation may offer new suggestions forstream content based on the previous selections of the user.

Once user 110 logs into one or more social networks, the log-in windowmay be replaced by the social and other media stream or presentation.For example, FIG. 8B shows an exemplary display of the social and othermedia stream or presentation in a “compact” view. This view takes upless of the screen allowing user 110 to see more of the game they areplaying. In the social and other media stream or presentation, the useris shown only, for example, a picture signifying the person making thepost to the social media network and/or the number of “likes” or“comments” on each post. The substance of the post may be hidden fromview.

In some embodiments, the user may be prompted to enroll in social medianetworks that provide feeds of which the user is not currently a member.For example, when a user is not logged in, sample posts from socialmedia networks may be included in the media stream in order to providethe user with an idea of how the particular network works. The user may,for example, interact with these sample posts, for example, by clickingon them. The user may be prompted by the application or by the socialmedia network to enroll in their service. In certain embodiments, theuser may be prompted by the application to enroll in social medianetworks without requiring user interaction. For example, upon openingthe application, the user may be prompted to enroll in one or moresocial media networks. If the user enrolls in the social media network'sservice, the user may, for example, select that particular social medianetwork for display in their media feed upon logging in, as discussed indetail above. In certain embodiments, the user may be prompted to enrollin additional social media networks after logging in. For example, afterlogging in to one or more social media networks, the application maydetect that the user has not logged in to other social media networks.The application may, for example, prompt the user to join theseadditional social media networks.

FIG. 8C shows an example of a full social and other media stream orpresentation view. In this view, user 110 is able to see both thesubstance of the social and other media post as well as the picturesignifying the person making the post and the number of “likes” or“comments” on each post; however, more of the game board is hiddenbehind the social and other media stream. Additionally or alternatively,the game board may be further compressed to allow full view of the mediastream. A user 110 is free to select whichever view they prefer, and mayinterchange between them. Additionally, the game may pause whenaccessing the media stream or switching from “compact” to “full” view.

In certain embodiments, a “compact” view may not show the social andother media stream or presentation. For example, a badge, subtitle, orindicator may be displayed in order to indicate to the user that thesocial and other media stream or presentation is available for displaybut currently hidden.

In certain embodiments, a “full” view may include a social and othermedia stream or presentation that covers the entire screen of userdevice 120. For example, the game may be hidden from view completely. Insome embodiments, the game may still be operating behind the social andother media stream or presentation. A user 110 may be able to shrink orminimize the social and other media stream or presentation in order toresume viewing and playing the game.

In some embodiments, the media stream operates to display a sequentiallist of media data, as discussed and supported elsewhere herein. Forexample, as shown in FIG. 8C, for example, the new update with theheader “Schoolboy Q” was received. This update, for purposes of thisexample, is newer in time and appears at the top of the media stream inFIG. 8C, pushing each previous update down in the media stream. Theprevious update, with the header “NBA,” thereby moves to thesecond-to-top place in the stream. When subsequent media data isreceived, the “Schoolboy Q” update will proceed down the stream until itexits the screen. However, in some embodiments, the stream may allow forscrolling to view media data that has progressed off of the screen. Themedia stream, in these various embodiments, creates a sequential list ofupdates that the user can view and/or interact with while simultaneouslyusing the application. Although FIG. 8C is described as updating fromtop-to-bottom of the media stream, it is understood that othervariations, such as bottom-to-top, left-to-right, or right-to-leftprogressions are also possible, depending for example of the orientationand configuration of the stream as to the screen and application.Although only one stream is shown in FIG. 8C, it is understood that morethan one list may be present, for example, a different stream or listfor each category of media data (e.g., sports or celebrities) or foreach third party (e.g., Twitter and Facebook). According to someembodiments, the media stream may be displayed in the stream based ontime, such as the time the media data is received or the time the mediadata occurred. In some embodiments, the media data may be displayed orsorted based on other parameters, such as, for example, popularity,number of “likes” or “retweets,” financial value, priority, importance,or other parameters. According to some embodiments, the parameters maybe user selected.

In some embodiments, the media stream may overlay part of theapplication. For example, the media stream may overlay an edge portionof the application, such as the right edge or the left edge of thewindow or portion of viewing screen in which the application appears.Although the media stream may overlay the application, the stream doesnot significantly obscure or prevent interaction with the applicationitself. In some embodiments, the application may be dynamically resizedsuch that the media stream does not overlay part of the application.

According to some embodiments, various combinations of overlays andresizing are possible. For example, a “compact” media stream may existat the edge of or may overlay the application, but when a user selects apost in the media stream, the media stream may expand, such as shown inFIG. 8C, and the application may be resized to prevent obscuring orsignificantly obscuring the application. According to other embodiments,the application may be resized such that a compact media stream does notoverlay the application, however, when a user selects the media stream,the expanded media stream may overlay a portion of the application.According to still other embodiments, the application may be resized todisplay the media stream and resized again when a media stream post isselected such that the media stream does not overlay the applicationeven when a media stream post is selected.

User 110 may also be free to click on any of the posts in the social andother media stream or presentation. Additionally, a user may be able tointeract with the social media posts. For example, a user may be able to“like” or “comment on a post, and also may be able to “retweet” a post.The posts in the social and other media stream or presentation maycontain links to the source of the post. When clicked on, the link willopen, as shown in FIG. 8D, to display the post in its entirety. Thelink, however, will open within the video game interface. Although theportion of the device showing the game board may be covered by the post,the game interface remains opened behind it. As soon as user 110finishes with the post, they may close it and resume game play withouthaving to switch applications on user device 120.

According to some embodiments, when a user interacts with the mediastream, the application may be “paused” and information related to theselected media stream post may be shown in the application window. Theinformation related to the media stream post may overlay the applicationeither in part or in its entirety, or the application may be resized todisplay the information. If needed, the user's selection of a post orlink within the media stream may result in a pop up window to displaythe requested or related content (e.g., a web browser, image, or text)or may result in a window that fills part of, significantly all of, orall of the screen to display the requested or related content (again,e.g., a web browser), or may result in the application “switching” oropening an application or window capable of displaying the requested orrelated content called for by the information within the post or link(e.g., a web browser, a travel booking application, a locationapplication, or a shopping application). It is understood that the“switching” or opening of the application may occur without interruptingor preventing the user of continuing to access the original application.The user may then close that related information and the applicationwill again be substantially visible and will continue running. Accordingto some embodiments, the application continues to run while the relatedmedia stream post information is displayed.

In some embodiments, the media stream displays social media data orother media data based on networks that a user is logged into. Forexample, if a user is logged into a Twitter account, the media streamwill display in whole or part “tweets” from people or organizations thatthe user “follows” on Twitter. In some embodiments, if a user is notlogged into a particular social media network, the media stream maydisplay media stream posts from the social media network, such as, forexample, a predefined set of social media posters. In other instances,the displayed social media posts may be related to categories selectedby the user. For example, if a user is not logged into Twitter, but hasselected the “news” category to be displayed in the media stream, themedia stream may display Twitter feeds related to one or more newsorganizations, such as the New York Times or CNN. The media stream mayalso have an option for the user to either log into or to sign up with asocial media network by selecting one of the social media posts when theuser is not logged into the network. For example, if a user selects aTwitter post in the media stream when the user is not logged intoTwitter, the user may be prompted to either log into Twitter or to signup with Twitter. According to some embodiments, the predefined socialmedia posts may be social media posts selected by the applicationdeveloper or by the party managing the media stream.

In some examples, some or all of the logic for the above-describedtechniques may be implemented as a computer program or application or asa plug in module or sub component of another application. The describedtechniques may be varied and are not limited to the examples ordescriptions provided. In some examples applications may be developedfor download to mobile communications and computing devices, e.g.,laptops, mobile computers, tablet computers, smart phones, etc., beingmade available for download by the user either directly from the deviceor through a website.

Moreover, while illustrative embodiments have been described herein, thescope thereof includes any and all embodiments having equivalentelements, modifications, omissions, combinations (e.g., of aspectsacross various embodiments), adaptations and/or alterations as would beappreciated by those in the art based on the present disclosure. Forexample, the number and orientation of components shown in the exemplarysystems may be modified. Further, with respect to the exemplary methodsillustrated in the attached drawings, the order and sequence of stepsmay be modified, and steps may be added or deleted.

Thus, the foregoing description has been presented for purposes ofillustration. It is not exhaustive and is not limiting to the preciseforms or embodiments disclosed. Modifications and adaptations will beapparent to those skilled in the art from consideration of thespecification and practice of the disclosed embodiments.

Software implementing the disclosed methods or processes may beimplemented in any suitable programming language, such as, for example,C, C#, C++, Objective-C, Java, Xcode, or other languages known topersons of ordinary skill in the art.

The claims are to be interpreted broadly based on the language employedin the claims and not limited to examples described in the presentspecification, which examples are to be construed as non-exclusive.Further, the steps of the disclosed methods may be modified in anymanner, including by reordering steps and/or inserting or deletingsteps.

Furthermore, although aspects of the disclosed embodiments are describedas being associated with data stored in memory and other tangiblecomputer-readable storage mediums, one skilled in the art willappreciate that these aspects can also be stored on and executed frommany types of tangible computer-readable media, such as secondarystorage devices, like hard disks, floppy disks, or CD-ROM, or otherforms of RAM or ROM. Accordingly, the disclosed embodiments are notlimited to the above described examples, but instead is defined by theappended claims in light of their full scope of equivalents.

What is claimed is:
 1. A method for displaying data, the methodcomprising: displaying an application comprising application data on anelectronic device; receiving first media data from at least one server;displaying first media data in a media stream within the application;receiving second media data from the at least one server; and displayingsecond media data in the media stream, wherein the electronic device isconfigured to permit simultaneous access to the first available mediadata, the second available media data, and the application data.
 2. Themethod of claim 1, further comprising: resizing the application datawhen a user interacts with at least one of the first media data or thesecond media data.
 3. The method of claim 1, further comprising:displaying content related to the first media data in a window after auser interacts with the first media data.
 4. The method of claim 3,wherein the window obscures at least part of the application data. 5.The method of claim 1, further comprising: opening a second applicationafter the user interacts with the first media data; and displayingsecond application data related to the second application and the firstmedia data.
 6. The method of claim 5, the application is suspendedduring display of the second application data.
 7. The method of claim 5,the electronic device is configured such that the user can interact withboth the second application data and the application data.
 8. The methodof claim 1, wherein at least one of the first media data and the secondmedia data corresponds to a media network based on a third party'ssubscription to the media network.
 9. The method of claim 1, wherein atleast one of the first media data and the second media data correspondsto a media category selected by a user.